﻿#include "stdafx.h"
#include "qg/qgasv.h"

//////////////////////////////////////////////////////////////////////////
// 베이스
KIMPL_SUBCLASS_ABSTRACT(qgObj, "RenderBase");

qgObj::qgObj()
#if 0
: _rrsv(0)
, _roam(QGROAM_NONE)
, _dev(qgDevice::CurrentDevice)
#else
: _dev(qgDevice::CurrentDevice)
#endif
{
}

qgObj::~qgObj()
{
	if (_roam != QGROAM_NONE)
	{
		// NONE이 아니면 한번이라도 등록한적이 있다는 뜻
		// 만약 DSV면 이미 해제한 것
		_dev->_RoamUnload(_roam, this);
	}
}

void qgObj::_BaseRoam(qgRoam roam)
{
	if (_roam != QGROAM_NONE)
	{
		kobj_tracef(KLV_CRITICAL, "this base already registed roam as '%d'.", _roam);

#if _SB_DEBUG_
		if (k_candebug())
			k_breakpoint();
#endif
	}
	else
	{
		if (roam != QGROAM_NONE)
			_dev->_RoamLoad(roam, this);
	}
}
